#!/bin/bash

# 检查是否为 root 用户，如果不是，则使用 sudo 执行后续命令
if [[ $EUID -ne 0 ]]; then
    echo "请使用 root 用户或使用 sudo 执行此脚本。"
    exit 1
fi

# 修改 SELinux 配置，仅在 SELinux 处于 enforcing 状态时修改
SELINUX_STATUS=$(getenforce)
if [[ $SELINUX_STATUS == "Enforcing" ]]; then
    sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
    echo "SELinux 已设置为 disabled。"
fi
# 获取并设置主机 IP 地址
# 局域网获取内网 IP
HOSTIP=$(hostname -I | awk '{print $1}')
# 云服务器获取外网 IP
# HOSTIP=$(wget -qO- ifconfig.me)

# 将 IP 地址转换为数组形式
IFS='.' read -r -a IP_PARTS <<< "$HOSTIP"

# 增加最后一位的数值
((IP_PARTS[3]++))

# 重新组合成新的 IP 地址
HOSTIP1="${IP_PARTS[0]}.${IP_PARTS[1]}.${IP_PARTS[2]}.${IP_PARTS[3]}"

# 将新 IP 地址转换为数组形式
IFS='.' read -r -a IP_PARTS1 <<< "$HOSTIP1"

# 增加最后一位的数值
((IP_PARTS1[3]++))

# 重新组合成新的 IP 地址
HOSTIP2="${IP_PARTS1[0]}.${IP_PARTS1[1]}.${IP_PARTS1[2]}.${IP_PARTS1[3]}"

# 检查 /etc/hosts 文件中是否已存在 controller 条目
if grep -q "controller" /etc/hosts; then
    echo "/etc/hosts 中已存在 controller 条目，不进行添加操作。"
else
    # 将 IP 地址添加到 /etc/hosts 文件
    cat >> /etc/hosts << EOF
$HOSTIP controller
$HOSTIP1 compute1
$HOSTIP2 compute2
EOF
fi

reboot